package com.erdos.core.service.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang.StringUtils;

import com.erdos.common.service.BaseCRUDService;
import com.erdos.core.dao.ContentTextDao;
import com.erdos.core.entity.ContentText;
import com.erdos.core.service.ContentTextService;

public class ContentTextServiceImpl extends BaseCRUDService<ContentText> implements
		ContentTextService {

	private ContentTextDao contentTextDao;
	
	/**
	 * 按资源编码查找一组ContentText
	 * @param contentId
	 * @return java.util.List
	 * @author jl
	 * @since  2008-7-22 
	 */
	public List<ContentText> findByContentId(String contentId) {
		return this.contentTextDao.findByContentId(contentId);
	}

	public ContentTextDao getContentTextDao() {
		return contentTextDao;
	}

	public void setContentTextDao(ContentTextDao contentTextDao) {
		this.contentTextDao = contentTextDao;
	}
	
	/**
	 * 校验资源编码的唯一性
	 * @param contentId
	 * @param isUpdate
	 * @return
	 * @author jl
	 * @since  2008-7-22 
	 */
	
	public boolean checkContentTextExist(String contentId,String isUpdate){
		boolean flag;
		if (isUpdate.compareTo("true")==0) {
			flag= false;
		} else {
			Map<String, Object> params = new HashMap<String, Object>();
			params.put("contentId", contentId);
			List<ContentText> contentTexts=getContentTextDao().findByParams(params);
			if (contentTexts==null||contentTexts.size()==0){
				flag= false;
			}
			else {
				flag= true;
			}
		}
		return flag;
	}

	/**
	 * 按资源编码删除一组ContentText
	 * @param contentId
	 * @author jl
	 * @since  2008-7-22 
	 */
	public int deleteByContentId(String contentId) {
		 return this.contentTextDao.deleteByContentId(contentId);
	}

	/**
	 * 按资源编码更新一组ContentText
	 * @param contentTexts java.util.List
	 * @author jl
	 * @since  2008-7-28 
	 */
	public void updateAll(List<ContentText> contentTexts) {
		for(ContentText contentText:contentTexts) {
		if(StringUtils.isEmpty(contentText.getContentText())) {
				this.delete(contentText);
			} else {
				if(contentText.getSid()==null){
					this.insert(contentText);
			    }else{
			    	this.update(contentText);
			    }
			}
		}	
	}
}
